﻿Imports Control_Vuelos_BL
Imports Control_Vuelos_BE
Imports DevExpress.XtraEditors.Controls
Imports DevExpress.XtraEditors
Imports DevExpress.XtraGrid.Views.Grid

Public Class frmAdm_ConsolidaFactura
    Inherits frmBaseMantenimiento

    ReadOnly vConciliaBL As New ConsolidadoBL()
    Dim vProvisionBE As New V_ProvisionBE
    ReadOnly vMaestroBL As New MaestrosBL()
    Dim tbTipoDocumento, tbDiario, tbMonedas, tbAerolinea, tbPeriodo As New DataTable
    Dim nopc As Integer
    Dim sTicket As String

    Private Sub frmAdm_ConsolidaFactura_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        AddHandler UcConsolidado1.btnBuscar.Click, AddressOf prl_btnclickbuscarTicket
        AddHandler UcConsolidado1.btnBuscarVuelo.Click, AddressOf prl_btnclickBuscarVuelos
        AddHandler BarBtnAgregar.ItemClick, AddressOf prl_RegistroNuevo
        AddHandler BarBtnModificar.ItemClick, AddressOf prl_RegistroModificar
        AddHandler BarBtnEliminar.ItemClick, AddressOf prl_RegistroEliminar
        AddHandler BarBtnGrabar.ItemClick, AddressOf prl_RegistroGrabar
        AddHandler BarBtnCancelar.ItemClick, AddressOf prl_RegistroCancelar
        AddHandler UcConsolidado1.cboFechaEmision.LostFocus, AddressOf prl_BuscarTipoCambio
        AddHandler UcConsolidado1.RepositoryItemCheckEdit3.EditValueChanged, AddressOf prl_CargarDetalleManifiesto
        AddHandler UcConsolidado1.GridView2.ValidatingEditor, AddressOf prl_ValidarDatosGrid
        AddHandler UcConsolidado1.GridView3.FocusedRowChanged, AddressOf prl_CargaTicket

        BarBtnRefresh.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
        BarBtnImprimir.Visibility = DevExpress.XtraBars.BarItemVisibility.Never
        prl_CargarCombos()
        nopc = 0
        prl_CargaInicial()
    End Sub

#Region "Inicializacion de datos"

    Private Sub prl_CargarCombos()
        tbTipoDocumento = vMaestroBL.pr_GetTipoDocumento()
        UcConsolidado1.cboTipoDocumento.Properties.DataSource = tbTipoDocumento
        UcConsolidado1.cboTipoDocumento.Properties.DisplayMember = "desTipoDocumento"
        UcConsolidado1.cboTipoDocumento.Properties.ValueMember = "codTipoDocumento"
        UcConsolidado1.cboTipoDocumento.Properties.Columns.Add(New LookUpColumnInfo("codTipoDocumento", 15, "Código"))
        UcConsolidado1.cboTipoDocumento.Properties.Columns.Add(New LookUpColumnInfo("desTipoDocumento", 60, "Descripción"))
        UcConsolidado1.cboTipoDocumento.Properties.BestFit()
        UcConsolidado1.cboTipoDocumento.Properties.PopupWidth = 120
        UcConsolidado1.cboTipoDocumento.Properties.SearchMode = SearchMode.AutoComplete
        UcConsolidado1.cboTipoDocumento.Properties.AutoSearchColumnIndex = 1
        tbMonedas = vMaestroBL.pr_GetMonedas()
        UcConsolidado1.cboMoneda.Properties.DataSource = tbMonedas
        UcConsolidado1.cboMoneda.Properties.DisplayMember = "nomMoneda"
        UcConsolidado1.cboMoneda.Properties.ValueMember = "codMoneda"
        UcConsolidado1.cboMoneda.Properties.Columns.Add(New LookUpColumnInfo("codMoneda", 15, "Código"))
        UcConsolidado1.cboMoneda.Properties.Columns.Add(New LookUpColumnInfo("nomMoneda", 60, "Descripción"))
        UcConsolidado1.cboMoneda.Properties.BestFit()
        UcConsolidado1.cboMoneda.Properties.PopupWidth = 120
        UcConsolidado1.cboMoneda.Properties.SearchMode = SearchMode.AutoComplete
        UcConsolidado1.cboMoneda.Properties.AutoSearchColumnIndex = 1
        tbAerolinea = vMaestroBL.pr_GetAerolinea()
        UcConsolidado1.cboCiaAerea.Properties.DataSource = tbAerolinea
        UcConsolidado1.cboCiaAerea.Properties.BestFit()
        UcConsolidado1.cboCiaAerea.Properties.PopupWidth = 120
        UcConsolidado1.cboCiaAerea.Properties.SearchMode = SearchMode.AutoComplete
        UcConsolidado1.cboCiaAerea.Properties.AutoSearchColumnIndex = 1
        tbPeriodo = vMaestroBL.pr_GetPeriodo()
        UcConsolidado1.cboPeriodo.Properties.DataSource = tbPeriodo
        UcConsolidado1.cboPeriodo.Properties.DisplayMember = "desmes"
        UcConsolidado1.cboPeriodo.Properties.ValueMember = "anomes"
        UcConsolidado1.cboPeriodo.Properties.Columns.Add(New LookUpColumnInfo("anomes", 6, "Periodo"))
        UcConsolidado1.cboPeriodo.Properties.Columns.Add(New LookUpColumnInfo("desmes", 20, "Descripción"))
        UcConsolidado1.cboPeriodo.Properties.BestFit()
        UcConsolidado1.cboPeriodo.Properties.PopupWidth = 120
        UcConsolidado1.cboPeriodo.Properties.SearchMode = SearchMode.AutoComplete
        UcConsolidado1.cboPeriodo.Properties.AutoSearchColumnIndex = 1
        tbDiario = vMaestroBL.pr_GetDiario()
        UcConsolidado1.cboDiario.Properties.DataSource = tbDiario
        UcConsolidado1.cboDiario.Properties.DisplayMember = "desasn"
        UcConsolidado1.cboDiario.Properties.ValueMember = "codasn"
        UcConsolidado1.cboDiario.Properties.Columns.Add(New LookUpColumnInfo("codasn", 6, "Periodo"))
        UcConsolidado1.cboDiario.Properties.Columns.Add(New LookUpColumnInfo("desasn", 20, "Descripción"))
        UcConsolidado1.cboDiario.Properties.BestFit()
        UcConsolidado1.cboDiario.Properties.PopupWidth = 120
        UcConsolidado1.cboDiario.Properties.SearchMode = SearchMode.AutoComplete
        UcConsolidado1.cboDiario.Properties.AutoSearchColumnIndex = 1
    End Sub

    Private Sub prl_CargaInicial()
        prl_InicializarBoton(True, False)
        BarBtnModificar.Enabled = False
        BarBtnEliminar.Enabled = False
        UcConsolidado1.XtraTabControl1.SelectedTabPageIndex = 0
        ' cargo la grilla con el detalle
        UcConsolidado1.txtPeriodo.EditValue = ""
        UcConsolidado1.txtAsiento.EditValue = ""
        UcConsolidado1.txtDocumento.EditValue = ""
        UcConsolidado1.txtTicket.EditValue = ""
        UcConsolidado1.txtPasajero.EditValue = ""
        UcConsolidado1.chkDetalle.EditValue = False
        UcConsolidado1.chkNoViajaron.EditValue = False
        UcConsolidado1.GridControl3.DataSource = vConciliaBL.pr_ListarConsolidado("NroPeriodo='000000'")
        UcConsolidado1.txtTicket.Focus()
    End Sub

    Private Sub prl_InicializarBoton(ByVal lFlag As Boolean, ByVal lFlag2 As Boolean)
        BarBtnAgregar.Enabled = lFlag
        BarBtnModificar.Enabled = lFlag
        BarBtnEliminar.Enabled = lFlag
        BarBtnCancelar.Enabled = lFlag2
        BarBtnGrabar.Enabled = lFlag2
    End Sub

    Private Sub prl_HabilitarCajas(ByVal lFlag As Boolean, ByVal lFlag2 As Boolean)
        UcConsolidado1.txtNroTicket.Enabled = lFlag2
        UcConsolidado1.cboFechaIngreso.Enabled = lFlag
        UcConsolidado1.cboCiaAerea.Enabled = lFlag2
        UcConsolidado1.cboPeriodo.Enabled = lFlag
        UcConsolidado1.txtAsiento2.Enabled = False
        UcConsolidado1.cboTipoDocumento.Enabled = lFlag
        UcConsolidado1.txtDocumento2.Enabled = lFlag
        UcConsolidado1.txtCondicionPago.Enabled = lFlag
        UcConsolidado1.cboMoneda.Enabled = lFlag
        UcConsolidado1.cboDiario.Enabled = lFlag
        UcConsolidado1.cboFechaEmision.Enabled = lFlag
        UcConsolidado1.txtTipoCambio.Enabled = lFlag
        UcConsolidado1.txtMontoVenta.Enabled = lFlag
        UcConsolidado1.cboFechaVuelo.Enabled = lFlag2
        UcConsolidado1.chkDetraccion.Enabled = lFlag
    End Sub

    Private Sub prl_BorrarGrillas()
        Dim dt As New DataTable
        dt.Reset()
        UcConsolidado1.GridControl1.DataSource = dt
        UcConsolidado1.GridControl2.DataSource = dt
    End Sub

#End Region

#Region "Actualizacion de datos"

    Private Sub prl_RegistroNuevo()
        prl_InicializarBoton(False, True)
        prl_HabilitarCajas(True, True)
        UcConsolidado1.XtraTabControl1.SelectedTabPageIndex = 1
        UcConsolidado1.txtNroTicket.EditValue = vConciliaBL.pr_CargaCorrelativoTicket()
        UcConsolidado1.cboFechaIngreso.EditValue = Date.Now
        UcConsolidado1.cboCiaAerea.EditValue = "001"
        UcConsolidado1.cboPeriodo.EditValue = "201301"
        UcConsolidado1.cboDiario.EditValue = "206"
        UcConsolidado1.txtAsiento2.EditValue = ""
        UcConsolidado1.cboTipoDocumento.EditValue = "01"
        UcConsolidado1.txtDocumento2.EditValue = ""
        UcConsolidado1.txtCondicionPago.EditValue = 0
        UcConsolidado1.cboMoneda.EditValue = "S"
        UcConsolidado1.cboFechaEmision.EditValue = Date.Now
        UcConsolidado1.txtTipoCambio.EditValue = 0.0
        UcConsolidado1.txtMontoVenta.EditValue = 0.0
        UcConsolidado1.cboFechaVuelo.EditValue = Date.Now
        UcConsolidado1.chkDetraccion.EditValue = False
        prl_BuscarTipoCambio()
        prl_BorrarGrillas()
        UcConsolidado1.txtNroTicket.Focus()
    End Sub

    Private Sub prl_RegistroModificar()
        If Not sTicket Is String.Empty Then
            vProvisionBE = vConciliaBL.pr_TraerProvision(sTicket)
            prl_InicializarBoton(False, True)
            prl_HabilitarCajas(IIf(UcConsolidado1.txtAsiento2.EditValue Is String.Empty, False, True), False)
            UcConsolidado1.XtraTabControl1.SelectedTabPageIndex = 1
            UcConsolidado1.txtNroTicket.EditValue = vProvisionBE.NroTicket
            UcConsolidado1.cboFechaIngreso.EditValue = vProvisionBE.FchIngreso
            UcConsolidado1.cboCiaAerea.EditValue = vProvisionBE.CodEmpresa
            UcConsolidado1.cboPeriodo.EditValue = vProvisionBE.NroPeriodo
            UcConsolidado1.cboDiario.EditValue = vProvisionBE.CodAsiento
            UcConsolidado1.txtAsiento2.EditValue = vProvisionBE.NroAsiento
            UcConsolidado1.cboTipoDocumento.EditValue = vProvisionBE.TipDocumento
            UcConsolidado1.txtDocumento2.EditValue = vProvisionBE.NroDocumento
            UcConsolidado1.txtCondicionPago.EditValue = vProvisionBE.NroConPago
            UcConsolidado1.cboMoneda.EditValue = vProvisionBE.CodMoneda
            UcConsolidado1.cboFechaEmision.EditValue = vProvisionBE.FchEmision
            UcConsolidado1.txtTipoCambio.EditValue = vProvisionBE.MonTipoCambio
            UcConsolidado1.txtMontoVenta.EditValue = vProvisionBE.MonTotal
            UcConsolidado1.cboFechaVuelo.EditValue = vProvisionBE.FchVuelo
            UcConsolidado1.chkDetraccion.Checked = vProvisionBE.FlgDetraccion
            ' cargo la cabecera con los vuelos de la fecha indicada
            Dim sFecha As String = CType(UcConsolidado1.cboFechaVuelo.EditValue, String)
            Dim dtVuelos As DataTable = vConciliaBL.pr_CargarCabeceraManifiesto(sFecha)
            If dtVuelos.Rows.Count > 0 Then
                UcConsolidado1.GridControl1.DataSource = dtVuelos
                ' ahora cargo el detalle con la relacion de pasajeros
                Dim dtDet As New DataTable
                dtDet = vConciliaBL.pr_CargarDetalleManifiesto(UcConsolidado1.txtNroTicket.EditValue)
                If dtDet.Rows.Count > 0 Then
                    UcConsolidado1.GridControl2.DataSource = dtDet
                End If
            End If
            UcConsolidado1.GridView1.Focus()
        End If
    End Sub

    Private Sub prl_RegistroEliminar()
        If Not sTicket Is String.Empty Then
            vProvisionBE = vConciliaBL.pr_TraerProvision(sTicket)
            If vProvisionBE.NroAsiento.Trim Is String.Empty Then
                If MsgBox("¿Está seguro de eliminar el registro?", MsgBoxStyle.Question + MsgBoxStyle.YesNo, "Desición") = MsgBoxResult.Yes Then
                    Dim lFlgOka As Boolean
                    lFlgOka = vConciliaBL.pr_QuitarTicketManifiestoCabecera(vProvisionBE.NroTicket)
                    If lFlgOka = True Then
                        MsgBox("La eliminación del ticket con la conciliación se realizó con éxito...", MsgBoxStyle.Information, "Proceso éxitoso")
                        prl_btnclickbuscarTicket()
                    Else
                        MsgBox("Ha ocurrido un error al tratar de eliminar el ticket con la conciliación...", MsgBoxStyle.Critical, "Proceso con problemas")
                    End If
                End If
            Else
                MsgBox("El ticket con la conciliación ya tiene relacionado un asiento...", MsgBoxStyle.Information, Text)
            End If
        End If
    End Sub

    Private Sub prl_RegistroGrabar()
        ' Grabamos la informacion
        ' v_provision
        Dim sdoc As String = UcConsolidado1.txtDocumento2.EditValue.ToString.Replace("-", "")
        Dim vCon As V_ProvisionBE = New V_ProvisionBE() With {.NroTicket = UcConsolidado1.txtNroTicket.EditValue, .NroPeriodo = UcConsolidado1.cboPeriodo.EditValue, .CodAsiento = UcConsolidado1.cboDiario.EditValue, .NroAsiento = UcConsolidado1.txtAsiento2.EditValue, .TipDocumento = UcConsolidado1.cboTipoDocumento.EditValue, .NroDocumento = sdoc, .FchIngreso = UcConsolidado1.cboFechaIngreso.EditValue, .FchEmision = UcConsolidado1.cboFechaEmision.EditValue, .FchVuelo = UcConsolidado1.cboFechaVuelo.EditValue, .MonTipoCambio = UcConsolidado1.txtTipoCambio.EditValue, .CodMoneda = UcConsolidado1.cboMoneda.EditValue, .MonTotal = UcConsolidado1.txtMontoVenta.EditValue, .CodEmpresa = UcConsolidado1.cboCiaAerea.EditValue, .CodAnalisis = UcConsolidado1.cboCiaAerea.GetColumnValue("CodAnalisis"), .NroConPago = UcConsolidado1.txtCondicionPago.EditValue, .FlgDetraccion = UcConsolidado1.chkDetraccion.Checked}
        If vConciliaBL.pr_ActualizarProvision(vCon) = True Then
            ' c_manifiesto (grabo si se ha enviado producto)
            Dim Row1 As DataRow
            For C = 0 To UcConsolidado1.GridView1.RowCount - 1
                Row1 = CType(UcConsolidado1.GridView1.GetDataRow(C), DataRow)
                Dim sCodViaje As String = Row1("CodVuelo")
                Dim lFlgProducto As Boolean = Row1("FlgProducto")
                Dim lFlgSeleccionado As Boolean = Row1("FlgSeleccion")
                If lFlgSeleccionado = True Then
                    vConciliaBL.pr_ActualizarProvisionManifiestoProducto(sCodViaje, lFlgProducto)
                End If
            Next
            'd_manifiesto
            Dim dGridDetMan As DataRow
            For D = 0 To UcConsolidado1.GridView2.RowCount - 1
                dGridDetMan = CType(UcConsolidado1.GridView2.GetDataRow(D), DataRow)
                Dim dMan As New D_ManifiestoBE
                dMan.CodViaje = dGridDetMan("CodVuelo")
                dMan.CodOrigen = dGridDetMan("CodOrigen")
                dMan.CodDestino = dGridDetMan("CodDestino")
                dMan.TipPasajero = dGridDetMan("TipPasajero")
                dMan.CodReserva = dGridDetMan("CodReserva")
                dMan.NroItem = Strings.Right("00" & CType(D + 1, String).Trim, 3)
                dMan.NroDocumentoId = dGridDetMan("NroDocumentoId")
                dMan.AppPasajero = dGridDetMan("AppPasajero")
                dMan.ApmPasajero = dGridDetMan("ApmPasajero")
                dMan.NomPasajero = dGridDetMan("NomPasajero")
                dMan.NacionalidadPasajero = dGridDetMan("NacionalidadPasajero")
                dMan.CodAnalisis = dGridDetMan("CodAnalisis")
                dMan.CodComunidad = dGridDetMan("CodComunidad")
                dMan.CodCentroCosto = dGridDetMan("CodCentroCosto")
                dMan.PctCentroCosto = dGridDetMan("PctCentroCosto")
                dMan.CodCentroCosto2 = IIf(IsDBNull(dGridDetMan("CodCentroCosto2")), "", dGridDetMan("CodCentroCosto2"))
                dMan.PctCentroCosto2 = 100 - dGridDetMan("PctCentroCosto")
                dMan.TipPorExcepcion = dGridDetMan("TipPorExcepcion")
                dMan.ObsManifiesto = dGridDetMan("ObsManifiesto")
                dMan.MonPasaje = dGridDetMan("MonPasaje")
                dMan.FlgLock = dGridDetMan("FlgLock")
                dMan.FlgResponsable = dGridDetMan("FlgResponsable")
                dMan.FlgNoEditar = dGridDetMan("FlgNoEditar")
                dMan.FlgChecking = dGridDetMan("FlgChecking")
                vConciliaBL.pr_ActualizarProvisionManifiestoDetalle(dMan, UcConsolidado1.txtNroTicket.EditValue)
            Next
        End If
        ' Retornamos a la primera pantalla
        prl_CargaInicial()
    End Sub

    Private Sub prl_RegistroCancelar()
        UcConsolidado1.XtraTabControl1.SelectedTabPageIndex = 0
        prl_CargaInicial()
    End Sub

#End Region

#Region "Miscelaneos"

    Private Sub prl_btnclickbuscarTicket()
        Dim sFiltro As String = ""
        ' Periodo
        If UcConsolidado1.txtPeriodo.EditValue = "" Then
            sFiltro = "NroPeriodo='201212'"
        Else
            sFiltro = String.Format("NroPeriodo='{0}'", UcConsolidado1.txtPeriodo.EditValue.ToString.Replace("/", ""))
        End If
        ' Asiento
        If UcConsolidado1.txtAsiento.EditValue <> "" Then
            sFiltro = String.Format("{0} AND Asiento LIKE '{1}%'", sFiltro, UcConsolidado1.txtAsiento.EditValue.ToString.Replace("-", ""))
        End If
        'Documento
        If UcConsolidado1.txtDocumento.EditValue <> "" Then
            sFiltro = String.Format("{0} AND NroDocumento LIKE '{1}%'", sFiltro, UcConsolidado1.txtDocumento.EditValue.ToString.Replace("-", ""))
        End If
        'Ticket
        If UcConsolidado1.txtTicket.EditValue <> "" Then
            sFiltro = String.Format("{0} AND NroTicket LIKE '{1}%'", sFiltro, UcConsolidado1.txtTicket.EditValue)
        End If
        'Pasajero
        'UcConsolidado1.txtPasajero.EditValue = ""
        'UcConsolidado1.chkDetalle.EditValue = False
        'UcConsolidado1.chkNoViajaron.EditValue = False
        Dim dtConsulta As DataTable = vConciliaBL.pr_ListarConsolidado(sFiltro)
        If dtConsulta.Rows.Count > 0 Then
            BarBtnModificar.Enabled = True
            BarBtnEliminar.Enabled = True
            UcConsolidado1.GridControl3.DataSource = dtConsulta
            UcConsolidado1.GridControl3.Focus()
        Else
            MsgBox("No hay registros que cumplan la condición...", MsgBoxStyle.Information, Text)
        End If
    End Sub

    Private Sub prl_btnclickBuscarVuelos()
        If UcConsolidado1.DxValidationProvider1.Validate Then
            Dim sFecha As String = CType(UcConsolidado1.cboFechaVuelo.EditValue, String)
            Dim dtVuelos As DataTable = vConciliaBL.pr_CargarCabeceraManifiesto(sFecha)
            Dim sdoc As String = UcConsolidado1.txtDocumento2.EditValue.ToString.Replace("-", "")
            If dtVuelos.Rows.Count > 0 Then
                ' Grabo el ticket para tenerlo como referencia
                Dim vCon As New V_ProvisionBE
                vCon.NroTicket = UcConsolidado1.txtNroTicket.EditValue
                vCon.NroPeriodo = UcConsolidado1.cboPeriodo.EditValue
                vCon.CodAsiento = UcConsolidado1.cboDiario.EditValue
                vCon.NroAsiento = UcConsolidado1.txtAsiento2.EditValue
                vCon.TipDocumento = UcConsolidado1.cboTipoDocumento.EditValue
                vCon.NroDocumento = sdoc
                vCon.CodAnalisis = vConciliaBL.pr_TraerAnalisis(UcConsolidado1.cboCiaAerea.EditValue)
                vCon.FchIngreso = UcConsolidado1.cboFechaIngreso.EditValue
                vCon.FchEmision = UcConsolidado1.cboFechaEmision.EditValue
                vCon.FchVuelo = UcConsolidado1.cboFechaVuelo.EditValue
                vCon.MonTipoCambio = UcConsolidado1.txtTipoCambio.EditValue
                vCon.CodMoneda = UcConsolidado1.cboMoneda.EditValue
                vCon.MonTotal = UcConsolidado1.txtMontoVenta.EditValue
                vCon.CodEmpresa = UcConsolidado1.cboCiaAerea.EditValue
                vCon.NroConPago = UcConsolidado1.txtCondicionPago.EditValue
                vCon.FlgDetraccion = UcConsolidado1.chkDetraccion.Checked
                If vConciliaBL.pr_ActualizarProvision(vCon) = True Then
                    UcConsolidado1.GridControl1.DataSource = dtVuelos
                    UcConsolidado1.GridControl1.Focus()
                Else
                    MsgBox("No se puede crear la conciliación para la fecha indicada...", MsgBoxStyle.Information, Text)
                End If
            Else
                MsgBox("No se han realizado vuelos en la fecha indicada...", MsgBoxStyle.Information, Text)
            End If
        End If
    End Sub

    Private Sub prl_ValidarDatosGrid(ByVal sender As Object, ByVal e As BaseContainerValidateEditorEventArgs)
        Dim View As GridView = CType(sender, GridView)
        If View.FocusedColumn.FieldName = "MonPasaje" Then
            ' obtenemos el valor original de la columna
            Dim nMonPasajeOriginal As Decimal = View.GetRowCellValue(View.FocusedRowHandle, "MonPasaje")
            ' averiguamos el valor de la columna que tiene el flag de noeditar
            Dim oTipPorExcepcion As String = View.GetRowCellValue(View.FocusedRowHandle, "FlgNoEditar").ToString
            If oTipPorExcepcion = "True" Then
                e.Valid = False
                e.ErrorText = " El precio del pasaje NO se puede editar"
                View.SetRowCellValue(View.FocusedRowHandle, "MonPasaje", nMonPasajeOriginal)
            End If
        End If
    End Sub

    Private Sub prl_CargaTicket()
        If UcConsolidado1.GridView3.RowCount > 0 Then
            Dim Rows As New ArrayList()
            Rows.Add(UcConsolidado1.GridView3.GetDataRow(UcConsolidado1.GridView3.GetSelectedRows()(0)))
            Dim Row As DataRow = CType(Rows(0), DataRow)
            If Not Row Is Nothing Then
                sTicket = Row("NroTicket")
            End If
        Else
            sTicket = ""
        End If
    End Sub

    Private Sub prl_CargarDetalleManifiesto(sender As Object, e As EventArgs)
        ' Si hay un registro
        Dim row As DataRow = TryCast(UcConsolidado1.GridView1.GetDataRow(UcConsolidado1.GridView1.GetSelectedRows()(0)), DataRow)
        If Not row Is Nothing Then
            Dim ScodVuelo As String = row("CodVuelo")
            ' Sender tendra el valor del checkedit
            Dim edit As CheckEdit = CType(sender, CheckEdit)
            ' Si se activa el check se asigna el ticket al vuelo 
            If edit.EditValue = True Then
                vConciliaBL.pr_AsignaTicketManifiestoCabecera(ScodVuelo, UcConsolidado1.txtNroTicket.EditValue)
            Else
                ' Si no se activa el check se quita el ticket del vuelo
                vConciliaBL.pr_AsignaTicketManifiestoCabecera(ScodVuelo, "")
            End If
        End If
        ' Aqui cargamos los datos para el detalle del manifiesto
        Dim dtDet As New DataTable
        dtDet = vConciliaBL.pr_CargarDetalleManifiesto(UcConsolidado1.txtNroTicket.EditValue)
        ' ahora cargamos los precios segun lo indicado
        For x = 0 To dtDet.Rows.Count - 1
            Dim lNoEditar As Boolean = dtDet.Rows(x).Item("FlgNoEditar")
            If lNoEditar = False Then
                ' reemplazo el precio del pasaje
                dtDet.Rows(x).Item("MonPasaje") = dtDet.Rows(x).Item("PrePasaje")
            End If
        Next
        UcConsolidado1.GridControl2.DataSource = dtDet
    End Sub

    Private Sub prl_BuscarTipoCambio()
        Dim sFec As String = CType(UcConsolidado1.cboFechaEmision.EditValue, String)
        Dim sFch As String = Strings.Mid(sFec, 7, 4) & Strings.Mid(sFec, 4, 2) & Strings.Mid(sFec, 1, 2)
        UcConsolidado1.txtTipoCambio.EditValue = vMaestroBL.pr_GetTipoCambio(sFch)
    End Sub

#End Region

End Class